# 数字类型包括 int float bool complex(复数)
a, b, c, d = 20, 5.5, True, 4 + 3j
print(type(a), type(b), type(c), type(d))

a == 111
print(isinstance(a, int))  # 判断数据类型


class A:
    pass


class B(A):
    pass


# type()不会认为子类是一种父类类型。
# isinstance()会认为子类是一种父类类型。
print('''isinstance(A(), A):''', isinstance(A(), A))
print('''type(A()) == A''', type(A()) == A)
print('''isinstance(B(), A)''', isinstance(B(), A))
print('''type(B()) == A''', type(B()) == A)


var1 = 10
var2 = 20
del var2
# print(var1, var2)  # var2已被删除，此处会抛出异常
